package com.atguigu.tingshu.model.album;

import com.atguigu.tingshu.model.base.BaseEntity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;

import java.io.Serial;
import java.math.BigDecimal;
import java.util.List;

/**
 * 专辑信息表--对应数据库中album_info表
 * @author sun
 */
@EqualsAndHashCode(callSuper = true)
@Data
@TableName("album_info")
@SuperBuilder
@AllArgsConstructor
@NoArgsConstructor
public class AlbumInfo extends BaseEntity {

	@Serial
	private static final long serialVersionUID = 1L;
	/**
	 * 用户id
	 */
	@TableField("user_id")
	private Long userId;
	/**
	 * 标题
	 */
	@TableField("album_title")
	private String albumTitle;
	/**
	 * 三级分类id
	 */
	@TableField("category3_id")
	private Long category3Id;
	/**
	 * 专辑简介
	 */
	@TableField("album_intro")
	private String albumIntro;
	/**
	 * 专辑封面 尺寸不固定，最大尺寸为960*960（像素）
	 */
	@TableField("cover_url")
	private String coverUrl;
	/**
	 * 专辑包含声音总数
	 */
	@TableField("include_track_count")
	private Integer includeTrackCount;
	/**
	 * 专辑是否完结：0-否；1-完结
	 */
	@TableField("is_finished")
	private Integer isFinished;
	/**
	 * 预计更新多少集
	 */
	@TableField("estimated_track_count")
	private Integer estimatedTrackCount;
	/**
	 * 专辑简介，富文本
	 */
	@TableField("album_rich_intro")
	private String albumRichIntro;
	/**
	 * 专辑评分
	 */
	@TableField("quality_score")
	private String qualityScore;
	/**
	 * 付费类型: 0101-免费、0102-vip免费、0103-付费
	 */
	@TableField("pay_type")
	private String payType;
	/**
	 * 价格类型： 0201-单集 0202-整专辑
	 */
	@TableField("price_type")
	private String priceType;
	/**
	 * 价格
	 */
	@TableField("price")
	private BigDecimal price;
	/**
	 * 折扣 0.1-9.9  不打折 -1
	 */
	@TableField("discount")
	private BigDecimal discount;
	/**
	 * vip折扣 0.1-9.9  不打折 -1
	 */
	@TableField("vip_discount")
	private BigDecimal vipDiscount;
	/**
	 * 免费试听集数
	 */
	@TableField("tracks_for_free")
	private Integer tracksForFree;
	/**
	 * 每集免费试听秒数
	 */
	@TableField("seconds_for_free")
	private Integer secondsForFree;
	/**
	 * 购买须知
	 */
	@TableField("buy_notes")
	private String buyNotes;
	/**
	 * 专辑卖点，富文本
	 */
	@TableField("selling_point")
	private String sellingPoint;
	/**
	 * 是否公开：1-公开 0-不公开
	 */
	@TableField("is_open")
	private String isOpen;
	/**
	 * 状态
	 */
	@TableField("status")
	private String status;
	/**
	 * 属性值集合
	 */
	@TableField(exist = false)
	private List<AlbumAttributeValue> albumAttributeValueVoList;
}